package classes;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

public class Cargador {

	private final String inicio = "start_question";
	private final String fin = "end_question";

	private File ficheroPreguntas;
	public Cargador(String path) {
		ficheroPreguntas = new File(path);
	}

	public Examen cargar() throws IOException {
		
		
		List<Pregunta> preguntas = new ArrayList<Pregunta>();
		FileReader lectorFichero = new FileReader(ficheroPreguntas);
		BufferedReader br = new BufferedReader(lectorFichero);
		String linea = "";
		
		while((linea=br.readLine())!=null){
			if (this.inicio.equals(linea) || this.fin.equals(linea) || linea.isEmpty()) {
				
			} else {
				Pregunta pregunta = new Pregunta();
				pregunta.setNumPregunta(Integer.parseInt(linea));
				linea = br.readLine();
				pregunta.setEnunciado(linea);
				linea = br.readLine();
				pregunta.setPuntuacion(Float.parseFloat(linea));
				linea = br.readLine();
				pregunta.setRespuestaOk(Integer.parseInt(linea));
				List<String> respuestas = new ArrayList<String>();
				for (int i = 0; i < 4; i++) {
					linea = br.readLine();
					respuestas.add(linea);
				}

				pregunta.setRespuestas(respuestas);
				preguntas.add(pregunta);
			}
		}


		if (br != null)
			br.close();
		Examen examen = new Examen();
		examen.setPreguntas(preguntas);
		return examen;
	}

	public void printExamen(Examen exam) {
		for (Pregunta preg : exam.getPreguntas()) {
			System.out.println("-------------------------");
			System.out.println(preg.getNumPregunta());
			System.out.println(preg.getEnunciado());
			System.out.println(preg.getPuntuacion());
			System.out.println(preg.getRespuestaOk());
			for (String str : preg.getRespuestas()) {
				System.out.println("Respuesta:"+str);
			}
		}
	}

	public static void main(String[] args) {

		Cargador charger = new Cargador( "C:\\temp\\preguntas.txt");
		try {
			Examen examenTest = charger.cargar();
			charger.printExamen(examenTest);
		} catch (IOException e) {
			e.printStackTrace();
		}
		
	}
}
